package com.fand.platform.configuration.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.platform.configuration.dto.DictionaryDeDto;
import com.fand.platform.configuration.dto.DictionaryDeLoDto;
import com.fand.platform.configuration.dto.DictionaryDto;
import com.fand.platform.configuration.dto.DictionaryLaDto;
import com.fand.platform.configuration.dto.DictionaryLaLoDto;
import com.fand.platform.configuration.dto.DictionaryLoDto;
import com.fand.platform.configuration.dto.DictionaryTyDto;
import com.fand.platform.configuration.dto.DictionaryTyLoDto;

/**
 * 字典
 * 
 * @author yaoHT
 * 
 */
public interface DictionaryDao {
	String BEAN_ID = "com.fand.platform.configuration.dao.DictionaryDao";

	/**
	 * 插入:字典类型
	 * 
	 * @param insertDictionaryTy
	 *            字典类型对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryTyBy1(DictionaryTyDto insertDictionaryTy, String... insertProperties);

	/**
	 * 插入:字典类型
	 * 
	 * @param insertDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryTyBy1_1(DictionaryTyDto insertDictionaryTy);

	/**
	 * 插入:字典类型
	 * 
	 * @param insertDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryTyBy2(DictionaryTyDto insertDictionaryTy);

	/**
	 * 删除:字典类型
	 * 
	 * @param deleteDictionaryTy
	 *            字典类型对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryTyBy1(DictionaryTyDto deleteDictionaryTy, String... whereEqProperties);

	/**
	 * 删除:字典类型
	 * 
	 * @param deleteDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryTyBy1_1(DictionaryTyDto deleteDictionaryTy);

	/**
	 * 删除:字典类型
	 * 
	 * @param deleteDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryTyByIds(DictionaryTyDto deleteDictionaryTy);

	/**
	 * 更新:字典类型
	 * 
	 * @param updateDictionaryTy
	 *            字典类型对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryTyBy1(DictionaryTyDto updateDictionaryTy, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 更新:字典类型
	 * 
	 * @param updateDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryTyByMove(DictionaryTyDto updateDictionaryTy);

	/**
	 * 更新:字典类型
	 * 
	 * @param updateDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryTyBy2(DictionaryTyDto updateDictionaryTy);

	/**
	 * 查询:字典类型
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyBy1ForObject(Class<R> requiredType, DictionaryTyDto selectDictionaryTy, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:字典类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 返回对象
	 */
	Integer selectDictionaryTyByCodeNqIdForInteger(DictionaryTyDto selectDictionaryTy);

	/**
	 * 查询:字典类型
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyBy2ForObject(Class<R> requiredType, DictionaryTyDto selectDictionaryTy, String objectId);

	/**
	 * 查询:字典类型
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyBy1ForObjectList(Class<R> requiredType, DictionaryTyDto selectDictionaryTy,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典类型
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyBy1_1ForObjectList(Class<R> requiredType, DictionaryTyDto selectDictionaryTy,
			String objectId);

	/**
	 * 查询:字典类型
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyBy2ForObjectList(Class<R> requiredType, DictionaryTyDto selectDictionaryTy,
			String objectId);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyBy1ForMappedObject(Class<R> mappedClass, DictionaryTyDto selectDictionaryTy,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyBy1_1ForMappedObject(Class<R> mappedClass, DictionaryTyDto selectDictionaryTy);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyByIdForMappedObject(Class<R> mappedClass, DictionaryTyDto selectDictionaryTy);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyBy1ForMappedObjectList(Class<R> mappedClass, DictionaryTyDto selectDictionaryTy,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyByParentIdNqIdForMappedObjectList(Class<R> mappedClass,
			DictionaryTyDto selectDictionaryTy);

	/**
	 * 查询:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 字典类型对象集合
	 */
	<R> List<R> selectDictionaryTyBy2ForMappedObjectList(Class<R> mappedClass, DictionaryTyDto selectDictionaryTy);

	/**
	 * 分页:字典类型
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 字典类型分页对象
	 */
	<R> PaginationDto<R> paginationDictionaryTyBy1ForMappedObjectList(final Class<R> mappedClass,
			DictionaryTyDto paginationDictionaryTy);

	/**
	 * 分页
	 * 
	 * @param paginationDictionaryTy
	 *            字典类型对象
	 * 
	 * @return 字典类型分页对象
	 */
	PaginationDto<Map<String, Object>> paginationDictionaryTyBy1ForMapList(DictionaryTyDto paginationDictionaryTy);

	/**
	 * 插入:字典类型日志
	 * 
	 * @param insertDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryTyLoBy1(DictionaryTyLoDto insertDictionaryTyLo, String... insertProperties);

	/**
	 * 删除:字典类型日志
	 * 
	 * @param deleteDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryTyLoBy1(DictionaryTyLoDto deleteDictionaryTyLo, String... whereEqProperties);

	/**
	 * 更新:字典类型日志
	 * 
	 * @param updateDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryTyLoBy1(DictionaryTyLoDto updateDictionaryTyLo, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:字典类型日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyLoBy1ForObject(Class<R> requiredType, DictionaryTyLoDto selectDictionaryTyLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典类型日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典类型日志对象集合
	 */
	<R> List<R> selectDictionaryTyLoBy1ForObjectList(Class<R> requiredType, DictionaryTyLoDto selectDictionaryTyLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典类型日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryTyLoBy1ForMappedObject(Class<R> mappedClass, DictionaryTyLoDto selectDictionaryTyLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典类型日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryTyLo
	 *            字典类型日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典类型日志对象集合
	 */
	<R> List<R> selectDictionaryTyLoBy1ForMappedObjectList(Class<R> mappedClass,
			DictionaryTyLoDto selectDictionaryTyLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:字典
	 * 
	 * @param insertDictionary
	 *            字典对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryBy1(DictionaryDto insertDictionary, String... insertProperties);

	/**
	 * 插入:字典
	 * 
	 * @param insertDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryBy1_1(DictionaryDto insertDictionary);

	/**
	 * 插入:字典
	 * 
	 * @param insertDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryBy2(DictionaryDto insertDictionary);

	/**
	 * 删除:字典
	 * 
	 * @param deleteDictionary
	 *            字典对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryBy1(DictionaryDto deleteDictionary, String... whereEqProperties);

	/**
	 * 删除:字典
	 * 
	 * @param deleteDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryBy1_1(DictionaryDto deleteDictionary);

	/**
	 * 删除:字典
	 * 
	 * @param deleteDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryByIds(DictionaryDto deleteDictionary);

	/**
	 * 更新:字典
	 * 
	 * @param updateDictionary
	 *            字典对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryBy1(DictionaryDto updateDictionary, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:字典
	 * 
	 * @param updateDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryBy1_1(DictionaryDto updateDictionary);

	/**
	 * 更新:字典
	 * 
	 * @param updateDictionary
	 *            字典对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryBy2(DictionaryDto updateDictionary);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryBy1ForObject(Class<R> requiredType, DictionaryDto selectDictionary, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryBy1_1ForObject(Class<R> requiredType, DictionaryDto selectDictionary, String objectId);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @return 返回对象
	 */
	Integer selectDictionaryByTypeIdEqCodeNqIdForInteger(DictionaryDto selectDictionary);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy1ForObjectList(Class<R> requiredType, DictionaryDto selectDictionary,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy1_1ForObjectList(Class<R> requiredType, DictionaryDto selectDictionary,
			String objectId);

	/**
	 * 查询:字典
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy2ForObjectList(Class<R> requiredType, DictionaryDto selectDictionary,
			String objectId);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryBy1ForMappedObject(Class<R> mappedClass, DictionaryDto selectDictionary,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryBy1_1ForMappedObject(Class<R> mappedClass, DictionaryDto selectDictionary);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryByIdForMappedObject(Class<R> mappedClass, DictionaryDto selectDictionary);

	/**
	 * 查询:字典标识
	 * 
	 * @param typeCo
	 *            字典类型编号
	 * @param code
	 *            字典编号
	 * @return 字典标识
	 */
	String selectDictionaryByTypeCoEqCodeForId(String typeCo, String code);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy1ForMappedObjectList(Class<R> mappedClass, DictionaryDto selectDictionary,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionary
	 *            字典对象
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy1_1ForMappedObjectList(Class<R> mappedClass, DictionaryDto selectDictionary);

	/**
	 * 查询:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * @param typeCo
	 *            类型编号
	 * 
	 * @return 字典对象集合
	 */
	<R> List<R> selectDictionaryBy2ForMappedObjectList(Class<R> mappedClass, String typeCo);

	/**
	 * 分页:字典
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationDictionary
	 *            字典对象
	 * 
	 * @return 字典分页对象
	 */
	<R> PaginationDto<R> paginationDictionaryBy1ForMappedObjectList(final Class<R> mappedClass,
			DictionaryDto paginationDictionary);

	/**
	 * 分页
	 * 
	 * @param paginationDictionary
	 *            字典对象
	 * 
	 * @return 字典分页对象
	 */
	PaginationDto<Map<String, Object>> paginationDictionaryBy1ForMapList(DictionaryDto paginationDictionary);

	/**
	 * 插入:字典日志
	 * 
	 * @param insertDictionaryLo
	 *            字典日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryLoBy1(DictionaryLoDto insertDictionaryLo, String... insertProperties);

	/**
	 * 删除:字典日志
	 * 
	 * @param deleteDictionaryLo
	 *            字典日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryLoBy1(DictionaryLoDto deleteDictionaryLo, String... whereEqProperties);

	/**
	 * 更新:字典日志
	 * 
	 * @param updateDictionaryLo
	 *            字典日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryLoBy1(DictionaryLoDto updateDictionaryLo, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:字典日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLo
	 *            字典日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLoBy1ForObject(Class<R> requiredType, DictionaryLoDto selectDictionaryLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:字典日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLo
	 *            字典日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典日志对象集合
	 */
	<R> List<R> selectDictionaryLoBy1ForObjectList(Class<R> requiredType, DictionaryLoDto selectDictionaryLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLo
	 *            字典日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLoBy1ForMappedObject(Class<R> mappedClass, DictionaryLoDto selectDictionaryLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLo
	 *            字典日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典日志对象集合
	 */
	<R> List<R> selectDictionaryLoBy1ForMappedObjectList(Class<R> mappedClass, DictionaryLoDto selectDictionaryLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:字典与语言
	 * 
	 * @param insertDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryLaBy1(DictionaryLaDto insertDictionaryLa, String... insertProperties);

	/**
	 * 插入:字典与语言
	 * 
	 * @param insertDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryLaBy1_1(DictionaryLaDto insertDictionaryLa);

	/**
	 * 插入:字典与语言
	 * 
	 * @param insertDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryLaBy2(DictionaryLaDto insertDictionaryLa);

	/**
	 * 删除:字典与语言
	 * 
	 * @param deleteDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryLaBy1(DictionaryLaDto deleteDictionaryLa, String... whereEqProperties);

	/**
	 * 删除:字典与语言
	 * 
	 * @param deleteDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryLaBy1_1(DictionaryLaDto deleteDictionaryLa);

	/**
	 * 删除:字典与语言
	 * 
	 * @param deleteDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryLaBy2(DictionaryLaDto deleteDictionaryLa);

	/**
	 * 更新:字典与语言
	 * 
	 * @param updateDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryLaBy1(DictionaryLaDto updateDictionaryLa, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 更新:字典与语言
	 * 
	 * @param updateDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryLaBy1_1(DictionaryLaDto updateDictionaryLa);

	/**
	 * 更新:字典与语言
	 * 
	 * @param updateDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryLaBy2(DictionaryLaDto updateDictionaryLa);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy1ForObject(Class<R> requiredType, DictionaryLaDto selectDictionaryLa, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy1_1ForObject(Class<R> requiredType, DictionaryLaDto selectDictionaryLa, String objectId);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy2ForObject(Class<R> requiredType, DictionaryLaDto selectDictionaryLa, String objectId);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy1ForObjectList(Class<R> requiredType, DictionaryLaDto selectDictionaryLa,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy1_1ForObjectList(Class<R> requiredType, DictionaryLaDto selectDictionaryLa,
			String objectId);

	/**
	 * 查询:字典与语言
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy2ForObjectList(Class<R> requiredType, DictionaryLaDto selectDictionaryLa,
			String objectId);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy1ForMappedObject(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy1_1ForMappedObject(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaBy2ForMappedObject(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy1ForMappedObjectList(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy1_1ForMappedObjectList(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa);

	/**
	 * 查询:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 字典与语言对象集合
	 */
	<R> List<R> selectDictionaryLaBy2ForMappedObjectList(Class<R> mappedClass, DictionaryLaDto selectDictionaryLa);

	/**
	 * 分页:字典与语言
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 字典与语言分页对象
	 */
	<R> PaginationDto<R> paginationDictionaryLaBy1ForMappedObjectList(final Class<R> mappedClass,
			DictionaryLaDto paginationDictionaryLa);

	/**
	 * 分页
	 * 
	 * @param paginationDictionaryLa
	 *            字典与语言对象
	 * 
	 * @return 字典与语言分页对象
	 */
	PaginationDto<Map<String, Object>> paginationDictionaryLaBy1ForMapList(DictionaryLaDto paginationDictionaryLa);

	/**
	 * 插入:字典与语言日志
	 * 
	 * @param insertDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryLaLoBy1(DictionaryLaLoDto insertDictionaryLaLo, String... insertProperties);

	/**
	 * 删除:字典与语言日志
	 * 
	 * @param deleteDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryLaLoBy1(DictionaryLaLoDto deleteDictionaryLaLo, String... whereEqProperties);

	/**
	 * 更新:字典与语言日志
	 * 
	 * @param updateDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryLaLoBy1(DictionaryLaLoDto updateDictionaryLaLo, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:字典与语言日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaLoBy1ForObject(Class<R> requiredType, DictionaryLaLoDto selectDictionaryLaLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典与语言日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典与语言日志对象集合
	 */
	<R> List<R> selectDictionaryLaLoBy1ForObjectList(Class<R> requiredType, DictionaryLaLoDto selectDictionaryLaLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典与语言日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryLaLoBy1ForMappedObject(Class<R> mappedClass, DictionaryLaLoDto selectDictionaryLaLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典与语言日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryLaLo
	 *            字典与语言日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典与语言日志对象集合
	 */
	<R> List<R> selectDictionaryLaLoBy1ForMappedObjectList(Class<R> mappedClass,
			DictionaryLaLoDto selectDictionaryLaLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:字典默认
	 * 
	 * @param insertDictionaryDe
	 *            字典默认对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryDeBy1(DictionaryDeDto insertDictionaryDe, String... insertProperties);

	/**
	 * 删除:字典默认
	 * 
	 * @param deleteDictionaryDe
	 *            字典默认对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryDeBy1(DictionaryDeDto deleteDictionaryDe, String... whereEqProperties);

	/**
	 * 更新:字典默认
	 * 
	 * @param updateDictionaryDe
	 *            字典默认对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryDeBy1(DictionaryDeDto updateDictionaryDe, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:字典默认
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryDe
	 *            字典默认对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryDeBy1ForObject(Class<R> requiredType, DictionaryDeDto selectDictionaryDe, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:字典默认
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryDe
	 *            字典默认对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典默认对象集合
	 */
	<R> List<R> selectDictionaryDeBy1ForObjectList(Class<R> requiredType, DictionaryDeDto selectDictionaryDe,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典默认
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryDe
	 *            字典默认对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryDeBy1ForMappedObject(Class<R> mappedClass, DictionaryDeDto selectDictionaryDe,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典默认
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryDe
	 *            字典默认对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典默认对象集合
	 */
	<R> List<R> selectDictionaryDeBy1ForMappedObjectList(Class<R> mappedClass, DictionaryDeDto selectDictionaryDe,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:字典默认日志
	 * 
	 * @param insertDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDictionaryDeLoBy1(DictionaryDeLoDto insertDictionaryDeLo, String... insertProperties);

	/**
	 * 删除:字典默认日志
	 * 
	 * @param deleteDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDictionaryDeLoBy1(DictionaryDeLoDto deleteDictionaryDeLo, String... whereEqProperties);

	/**
	 * 更新:字典默认日志
	 * 
	 * @param updateDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDictionaryDeLoBy1(DictionaryDeLoDto updateDictionaryDeLo, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:字典默认日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryDeLoBy1ForObject(Class<R> requiredType, DictionaryDeLoDto selectDictionaryDeLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典默认日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典默认日志对象集合
	 */
	<R> List<R> selectDictionaryDeLoBy1ForObjectList(Class<R> requiredType, DictionaryDeLoDto selectDictionaryDeLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:字典默认日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDictionaryDeLoBy1ForMappedObject(Class<R> mappedClass, DictionaryDeLoDto selectDictionaryDeLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:字典默认日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDictionaryDeLo
	 *            字典默认日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 字典默认日志对象集合
	 */
	<R> List<R> selectDictionaryDeLoBy1ForMappedObjectList(Class<R> mappedClass,
			DictionaryDeLoDto selectDictionaryDeLo, String[] selectProperties, String... whereEqProperties);
}